import Vue from 'vue'

Vue.config.devtools = true

import app from './App.vue'
import {Header,Swipe,SwipeItem,Button,Lazyload,Switch} from 'mint-ui'
//图片懒加载 需要导入全部，不能按需导入，还需导入样式 css  ：import 'mint-ui/lib/style.css'
Vue.use(Lazyload)
Vue.component(Header.name,Header)
Vue.component(Swipe.name,Swipe)
Vue.component(SwipeItem.name,SwipeItem)
Vue.component(Button.name,Button)
Vue.component(Switch.name,Switch)

import './lib/mui/css/mui.css'
import './lib/mui/css/icons-extra.css'
import VueRouter from 'vue-router'
Vue.use(VueRouter)


//注册vuex
import Vuex from 'vuex'
Vue.use(Vuex)

var car= JSON.parse(localStorage.getItem('car')||'[]');
var store=new Vuex.Store({
    state:{
        //this.$store.state.---
        car:[] //存储购物车的数据
    },
    mutations:{
        //相当于是 方法
        //this.$store.commit('func',parms)
        addCar(state,goodsinfo){
            //如果商品已存在，更新数量
            //如果不存在，添加到购物车 push()

            //购物车不存在对应的商品为false
            var flag=false

            state.car.some(item=>{
                if(item.id==goodsinfo.id){
                    item.count+=parseInt(goodsinfo.count)
                    flag=true
                    return true
                }
            })

            if(!flag){
                state.car.push(goodsinfo)
            }

            localStorage.setItem('car',JSON.stringify(state.car))
        },
        updateGoodsInfo(state,goodsinfo){
            state.car.some(item=>{
                item.count=parseInt(goodsinfo.count)
                return true
            })
            localStorage.setItem('car',JSON.stringify(state.car))

        }

    },
    getters:{
        //相当于 计算属性
        //this.$store.getters.---
        getAllCount(state){
            var c=0;
            state.car.forEach(item=>{
                c+=item.count
            })
            return c
        },
        getGoodsCount(state){
            var o={}
            state.car.forEach(item=>{
                o[item.id]=item.count
            })
            return o
        }
    }
})


import router from './router.js'
import vueResource from 'vue-resource'
Vue.use(vueResource)
//设置请求的根路径
// Vue.http.options.root='http://www.baidu.com'
//全局设置 post 请求时 数据格式组织形式 application/x-www-form-urlencode
// Vue.http.options.emylateJSON=true;

//安装 图片预览插件(已更新)
// import VuePreview from'vue-preview'
// Vue.use(VuePreview)
import VuePreview from 'vue2-preview'
Vue.use(VuePreview)



//定义全局过滤器处理时间格式
//安装处理时间格式的包 cnpm i moment -S
import moment from 'moment'
Vue.filter('dateFormat',(dateStr,pattern="YYYY-MM-DD HH:mm:ss")=>{
    return moment(dateStr).format(pattern);
})


var vm= new Vue({
    el:'#app',
    render:c=>c(app),
    router,
    store
})